﻿using AutoMapper;
using SMARTHOTEL.Cients;
using SMARTHOTEL.Customers;
using SMARTHOTEL.hotel;
using SMARTHOTEL.Menus;
using SMARTHOTEL.MenusDto;
using SMARTHOTEL.Products;
using SMARTHOTEL.Reservationses;
using SMARTHOTEL.RoomConditionManagement;
using SMARTHOTEL.RoomMoneys;
using SMARTHOTEL.RoomNum;
using SMARTHOTEL.RoomTypes;
using SMARTHOTEL.Staies;
using SMARTHOTEL.StayRecords;
using SMARTHOTEL.User;
using SMARTHOTEL.Users;

namespace SMARTHOTEL;

public class SMARTHOTELApplicationAutoMapperProfile : Profile
{
    public SMARTHOTELApplicationAutoMapperProfile()
    {
        /* You can configure your AutoMapper mapping configuration here.
         * Alternatively, you can split your mapping configurations
         * into multiple profile classes for a better organization. */
        CreateMap<RoomType, RoomTypeDto>().ReverseMap();
        CreateMap<CreateUpdateRoomTypeDto, RoomType>();
        CreateMap<CreateUpdateSortDto, Sort>();
        CreateMap<SortDto, Sort>().ReverseMap();
        CreateMap<RoomNumDto, RoomNumber>().ReverseMap();
        CreateMap<CreateUpdateRoomNumDto, RoomNumber>().ReverseMap();
        CreateMap<CreateUpdateProductLabelDto, ProductLabel>().ReverseMap(); 
        CreateMap<GetProductLabelDto, ProductLabel>().ReverseMap();
        CreateMap<CreateProductDto, Product>().ReverseMap();
        CreateMap<UpdateProductDto, Product>().ReverseMap();
        CreateMap<GetProductDto, Product>().ReverseMap();
        CreateMap<CreateUpdateReservationDto, Reservation>().ReverseMap();
        CreateMap<GetReservationDto, Reservation>().ReverseMap();
        CreateMap<UpdateReservationDto, Reservation>().ReverseMap();
        CreateMap<UserDto, Users.User>().ReverseMap();
        CreateMap<CreateUpdateStayDto, Stay>().ReverseMap();
        CreateMap<StayDto, Stay>().ReverseMap();
        CreateMap<CreateUpdateStayRecordDto, StayRecord>().ReverseMap();
        CreateMap<StayRecordDto, StayRecord>().ReverseMap();
        CreateMap<CreateUpdateRoomMoneyDto, RoomMoney>().ReverseMap();
        CreateMap<RoomMoneyDto, RoomMoney>().ReverseMap();
        CreateMap<CreateUpdateRoomMoneyDtos, RoomMoney>().ReverseMap();
        CreateMap<CreateUpdateRoomNumDtos, RoomNumber>().ReverseMap();
        CreateMap<CustomerDto, Customer>().ReverseMap();
        CreateMap<RCRoomTypeListDto, RoomNumber>().ReverseMap();
        CreateMap<InsertCientDto, Cient>().ReverseMap();
        CreateMap<CientDto, Cient>().ReverseMap();
        CreateMap<InsertMembershipbenefitsDto, Membershipbenefits>().ReverseMap();
        CreateMap<GetMembershipbenefitsDto, Membershipbenefits>().ReverseMap();
        CreateMap<InsertMembershipcardDto, Membershipcard>().ReverseMap();
        CreateMap<MembershipcardDto, Membershipcard>().ReverseMap();
        CreateMap<InsertReservationsDto, Reservations>().ReverseMap();
        CreateMap<ReservationsDto, Reservations>().ReverseMap();
        CreateMap<MenuDto, Menu>().ReverseMap();
        CreateMap<GetProductLabelDto, Product>().ReverseMap();
        CreateMap<CreateProductDto, Product>().ReverseMap();
        //CreateMap<GetAllProductDto, Product>().ReverseMap();

    }
}
